package com.hqyj.javaSpringBoot.modules.test.service;

import com.hqyj.javaSpringBoot.modules.common.entiy.ResultEntity;
import com.hqyj.javaSpringBoot.modules.common.entiy.SearchBean;
import com.hqyj.javaSpringBoot.modules.test.entity.Student;
import org.springframework.data.domain.Page;

import java.util.List;

public interface StudentService {

    /**
     * 添加学生
     */
    ResultEntity<Student> insertStudent(Student student);

    /**
     * 删除学生
     */
    ResultEntity<Student> deleteStudent(int id);

    /**
     * 修改学生
     */
    ResultEntity<Student> updateStudent(Student student);

    /**
     * 根据学生id查询学生
     */
    Student getStudentById(int id);

    /**
     * 根据学生姓名和学生年龄查询学生信息
     */
    Student getStudentNameAndAge(String studentName, Integer age);

    /**
     * 分页查询学生学生
     */
    Page<Student> getStudentBySearch(SearchBean searchBean);

    /**
     * @Query hql语句查询
     * 根据学生id查询学生
     */
    Student getStudentByIdV2(int id);

    /**
     * @Query+@Modifying hql语句修改
     * 根据学生id修改学生姓名
     */
    ResultEntity<Student> updateStudentNameById(Student student);
}
